9页:数组和循环

作者:Thau!
数组是一项非常有用的东西,因为你可以循环调用
数组中的各个元素执行某项功能。以下是循环显示
一个
URL数组中的各个元素的例子。

首先,要使该例子发挥作用,我们需要声明一些变
量:



var url_names = new Array("hits.org","awaken.org","bianca.com");

var a_url;

接下来,我们循环调用数组中的各个元素,打开每
URL并对待用户点击alert框的OK按钮:

for (loop = 0; loop <url_names.length; loop++) { // make the name of a url, for example http://www.hits.org/ a_url = "http://www." + url_names[loop] + "/"; // open a window var new_window=open(a_url,"new_window","width=300,height=300"); // wait for the click alert("hit ok for the next site"); }

首先,你会注意到循环从0一直到
url_names.length这个变量。将.length放在数组
名的后面由于告诉你数组中有多少个元素。但是,
注意数组元素的数目同数组最后一个元素的索引号
(顺序号)不同。如果数组中有
3个元素,则数组
的长度为
3,但是数组中最后一个元素的索引号却
array[2].。这是因为数组中第1个元素的索引号
array[0].。如果你执行数组调用时得到诸如
"object not found" 的错误信息,而你的代码中
有一个数组,则有可能是因为你将数组元素的索引
号同数组中元素的数目混淆了。

不也许还会注意到将.length放在数组的结尾处很
有点想给一个对象附加一些属性。这是因为数组本
身就是对象,而
length 就是数组的一项属性。

数组术语对象的另一个表现是:你需要用新指令才
能生成新的数组。在上例中,
url_names = new
Array(......)
实际可以解释为:生成一个新数
组,用
url_names对其做一个引用。你可以注意到
单词
"new" 以这种方式被应用时,就生成了一个新
的对象。

循环中的第1行生成一个变量。其赋值为一个字符
串。

a_url = "http://www." + url_names[loop] + "/";

循环开始时,变量循环的初始值为0url_names
组的第
1个元素是字符串"hits.org".,所以在第一
次循环中,变量
a_url等值于字符串"http:
//www.hits.org/"
.

循环的下一行用该URL打开一个窗口



var new_window=open(a_url,"new_window","width=300,height=300");

由于每次打开窗口时我们给窗口起的名称都一样,
所以在转到新的
URL时,不会打开许多窗口。如果
我们在上例中去掉窗口名称
"new_window",则每次
循环时就会打开一个新窗口。

循环的第3行只是打开一个alert框,并对待用户点
OK 按钮。

数组还可以由于其它元素,而不只是字符串。数组
可以应用于
JavaScript文件对象模块(Document
Object Model
)的各个方面。

1: 第四课介绍
2: 循环介绍
3: 循环的密码
4: 再谈WHILE循环
5: For 循环
6: 嵌套循环
7: 循环练习
8: 数组
9: 数组和循环
10:文件目标模块中的数组
11: 函数
12: 无参数函数
13: 参数及返回值
14: 多于一个参数的函数